package strategy.core.start;

import com.cybermkd.mongo.plugin.MongoJFinalPlugin;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.jfinal.core.JFinal;
import com.jfinal.ext.handler.ContextPathHandler;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.render.ViewType;
import com.jfinal.template.Engine;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class StartConfig extends JFinalConfig {
	@Override
	public void configPlugin(Plugins me) {
		RedisPlugin redisPlugin = new RedisPlugin("redis_api_alert", "120.24.0.160", 6379, "hMhp3H5BnA");
		me.add(redisPlugin);
		
		//kisso 初始化
//		me.add(new KissoJfinalPlugin());

		// https://t-baby.gitbooks.io/mongodb-plugin/content/cha_zhao.html 文档
		MongoJFinalPlugin mongoPlugin = new MongoJFinalPlugin();
		mongoPlugin.add("120.24.0.160", 27017);
		mongoPlugin.setDatabase("admin");// 这个要放在用户名/密码前面
		mongoPlugin.auth("lianlianyi", "andNPC9527.!");
		me.add(mongoPlugin);
	}

	@Override
	public void afterJFinalStart() {
		log.info("开始初始化任务调度...");
		log.info("任务调度配置完成...");
		
	}

	@Override
	public void beforeJFinalStop() {
		System.out.println("执行结束需要处理的事务....");
	}
	
	/**配置常量*/
	@Override
	public void configConstant(Constants me) {
		me.setDevMode(true);
		me.setViewType(ViewType.JSP);
	}

	/**配置路由*/
	@Override
	public void configRoute(Routes me) {
		// me.add("/strategy7", ControllerStrategy.class);
		// me.add("/wx",WxController.class);//微信公众号
	}

	/**配置全局拦截器*/
	@Override
	public void configInterceptor(Interceptors me) {
		
	}

	/**配置处理器*/
	@Override
	public void configHandler(Handlers me) {
		me.add(new ContextPathHandler("basePath"));// 将根路径
	}

	@Override
	public void configEngine(Engine me) {
		
	}

	/**
	 * 建议使用 JFinal 手册推荐的方式启动项目 运行此 main
	 * 方法可以启动项目，此main方法可以放置在任意的Class类定义中，不一定要放于此
	 */
	public static void main(String[] args) {
		JFinal.start("src/main/webapp", 8555, "/");
	}

}
